在TCP
中有一个Keep-Alive
的机制可以检测死连接,应用层如果对于死链接周期不敏感或者没有实现心跳机制,可以使用操作系统提供的keepalive
机制来踢掉死链接。
在Server::set
配置中增加open_tcp_keepalive=>1
表示启用tcp keepalive
。
另外,有3
个选项可以对keepalive
的细节进行调整。
Keep-Alive
机制不会强制切断连接,如果连接存在但是一直不发生数据交互。Keep-Alive
不会切断连接。而应用层实现的心跳检测 heartbeat_check
即便连接存在,但不产生数据交互的情况下,依然会强制切断连接。
推荐使用
heartbeat_check
实现心跳检测
单位秒,连接在n
秒内没有数据请求,将开始对此连接进行探测。
探测的次数,超过次数后将close
此连接。
探测的间隔时间,单位秒。